The present invention relates to storage devices that store data on media. In particular, the present invention relates to encoding techniques for reducing errors in recovered data.
Storage devices store data along tracks embedded in storage media. In storage devices that use discs, the tracks are concentric around the rotational axis of the disc. In tape based storage devices, the tracks are formed along parallel paths that run in the direction of the movement of the tape. In either case, the storage device writes data by positioning a head over a destination track and altering a localized portion of the medium. To recover the data, the storage device must position a read head over the same track and sense a localized characteristic of the medium indicative of the alteration performed by the write head.
The positioning of the head during reading and writing operations is critical to the proper recovery of stored data. If the write head is not properly positioned over a track during write operations, data will be written outside of the location where the storage device expects it. This can cause read errors because the storage device attempts to place the read head directly over the track where it expects to find the data. If the data is outside of this location, the read head may not be able to read the data, resulting in a read error.
Many storage devices have the ability to recover from such read errors. Specifically, as part of a recovery routine, many devices shift the read head from the ideal track layout and attempt to recover data that has been written outside of the ideal track. If the read head successfully reads the data, the storage device continues with the remainder of the read operation. If the read head can not read the data, it reports an unrecoverable error.
As track densities increase on media, the head-shifting recovery technique has created additional problems. Specifically, shifting the read head outside of the ideal track layout can cause the read head to move into an adjacent track. If the read head successfully reads data from the adjacent track, it is possible that the storage device will incorrectly identify the recovered data as belonging to the original target track and not as belonging to the neighboring track. This type of error is known as a data miscompare.
Such errors are undesirable because they cause the disk drive to report that there was no error in recovering the data when in fact incorrect data has been returned to the host computer. Such errors are extremely difficult to identify and can lead to serious consequences in the operation of the computer.
The present invention provides a method and storage device for reducing the occurrence of data miscompare errors. The method includes identifying a destination track as either an even track or an odd track and selecting a pseudo-random set of data based on this identification. The pseudo-random set of data is combined with write data to produce randomized data that is used as the basis for a write signal to be written to the destination track.
In further embodiments of the present invention, the method also includes identifying a source track as either an even track or an odd track. A read signal is then produced by reading from the source track. Randomized read data is extracted from the read signal and is combined with a pseudo-random set of data to reproduce the data originally written on the track. The pseudo-random set of data is selected on the basis of whether the source track is an even track or an odd track.